//=======================================================================
//文件名称：light.h
//功能概要：小灯软件构件头文件
//版权所有：江苏电子-索明何
//版本更新：2023-01-22  V1.0
//=======================================================================
#ifndef  _LIGHT_H              //防止重复定义（开头）
#define  _LIGHT_H

//1.头文件包含
#include  "common.h"           //包含公共要素软件构件头文件
#include  "gpio.h"             //包含GPIO底层驱动构件头文件

//2.宏定义
//(1)小灯硬件构件接口引脚宏定义（由实际的硬件连接决定）
#define  LIGHT1    (PTA|0)     //小灯LIGHT1使用的端口/引脚
#define  LIGHT2    (PTA|1)     //小灯LIGHT2使用的端口/引脚
#define  LIGHT3    (PTA|2)     //小灯LIGHT3使用的端口/引脚

//(2)小灯状态宏定义（小灯亮、小灯灭对应的物理电平由硬件接法决定）
#define  LIGHT_ON     0        //小灯亮
#define  LIGHT_OFF    1        //小灯灭

//3.对外接口函数声明
//=======================================================================
//函数名称：light_init
//函数功能：对指定的某个小灯进行初始化
//函数参数：port_pin: 小灯使用的端口引脚号（可用宏定义LIGHT1~LIGHT3之一作为函数实参）
//          state:    小灯的状态（可用宏定义LIGHT_ON或LIGHT_OFF作为函数实参）
//函数返回：无
//函数调用示例：
//   light_init(LIGHT2, LIGHT_OFF);       //对小灯LIGHT2初始化为熄灭状态
//=======================================================================
void light_init(uint16 port_pin, uint8 state);

//=======================================================================
//函数名称：light_control
//函数功能：控制指定的某个小灯的状态
//函数参数：port_pin: 小灯使用的端口引脚号（可用宏定义LIGHT1~LIGHT3之一作为函数实参）
//          state:    小灯的状态（可用宏定义LIGHT_ON或LIGHT_OFF作为函数实参）
//函数返回：无
//函数调用示例：
//   light_control(LIGHT2, LIGHT_ON);     //控制小灯LIGHT2点亮
//=======================================================================
void light_control(uint16 port_pin, uint8 state);

//=======================================================================
//函数名称：light_change
//函数功能：改变指定的某个小灯的状态
//函数参数：port_pin: 小灯使用的端口引脚号（可用宏定义LIGHT1~LIGHT3之一作为函数实参）
//函数返回：无
//函数调用示例：
//   light_change(LIGHT2);                //改变小灯LIGHT2的状态
//=======================================================================
void light_change(uint16 port_pin);

#endif                    //防止重复定义（结尾）
